The ATM Forum Traffic Management Specification Version 4.0 (the "TM Spec") identifies an available bit rate (ABR) service class for ATM networks. Central to the service is the use of resource management (RM) cells. RM cells are transmitted in-band with ATM data traffic to communicate necessary changes to connections' data transmission rates in response to the congestion state of the network.
FIG. 1 illustrates a bi-directional connection between two ATM Endpoints (Endpoints A and B). The directions of the connection are labelled X and Y. Endpoint A sends data to Endpoint B encapsulated in ATM data cells. The data cells are interspersed with forward resource management cells (f-RM cells) on the same connection. Resource management cells are differentiated from ATM data cells by a bit pattern in the cell header. The cells (data and RM) may traverse one or more switches between the Endpoints.
When the cells arrive at Endpoint B, the data cells are processed and retained by the endpoint, while the f-RM cells are converted to backward resource management cells (b-RM cells) and sent back to Endpoint A on the same connection in Direction Y. When Endpoint A receives the b-RM cells, the rate of data transmission in Direction X may change as a function of the contents of the b-RM cells.
At the same time Endpoint A is transmitting data and f-RM cells to Endpoint B, Endpoint B may be transmitting data and f-RM cells to Endpoint A on the same connection. In this case, in both Direction X and Y there will be a mix of data, f-RM and b-RM cells on the same connection.
Section 5.10 of the TM Spec describes the required and allowed behavior for sending and receiving data, f-RM and b-RM cells. There are two sub-classes of b-RM cells which are at issue. In-rate b-RM cells have a higher priority in the network and are marked with a value of CLP=0 in the ATM cell header. Out-of-rate b-RM cells have a lower priority and are marked with a value of CLP=1.
Section 5.10.4 of the TM Spec (Source Behavior), item 3.b specifies that an in-rate b-RM cell may be sent if either: i) no other b-RM cell has been sent on the connection since the last f-RM cell was sent, or ii) no data cell is waiting for transmission.
The problem with this approach alone is that there may be no rate allocated in the reverse direction to carry the reflected b-RM cell in-rate. For example, Endpoint A may send data and f-RM cells to Endpoint B, but Endpoint B may be sending nothing to Endpoint A. In this case, no b-RM cells can be reflected in-rate to Endpoint A.
To overcome this deficiency, an Endpoint may choose to reflect b-RM cells out-of-rate. b-RM cells may be sent out-of-rate with CLP=1 regardless of the allocated rate of the connection in the reverse direction. Section 5.10.5.3 of the TM Spec states:
3. If a forward-RM cell is received by the destination while another turned-around RM-cell (on the same connection) is scheduled for in-rate transmission:
a) It is recommended that the contents of the old cell are over-written by the contents of the new cell; PA0 b) It is recommended that the old cell (after possibly having been over-written) shall be sent out-of-rate; alternatively the old cell may be discarded or remain scheduled for in-rate transmission. PA0 c) It is required that the new cell be scheduled for in-rate transmission.
In addition to the main specification for RM cell behavior, the TM Spec includes an appendix (Appendix 1.7: Turning RM-Cells Around) which enumerates several options for reflecting b-RM cells in-rate and out-of-rate. The Appendix in particular addresses the situation where the backward rate is much lower than the forward rate or equal to zero. However, the proposed solutions contain several deficiencies.
One deficiency is the assumption that the scheduler in the forward direction can transmit a reflected b-RM cell at any instant in time. However, the transmit scheduler may have other traffic with a higher priority and may need to be decoupled from the cell receiving processing.
Another problem not addressed in the Appendix is when clumps of f-RM cells are received and then reflected as a clump of out-of-rate b-RM cells. The only solution to this problem presented in the Appendix is to not reflect RM cells out-of-rate, which is not acceptable when the backward rate is zero.
The present invention specifies a method for reflecting b-RM cells in-rate and out-of-rate which:
Does not require an allocated cell rate in the reverse direction PA1 Provides decoupling between the receive and transmit sections. PA1 Controls clumping of RM cells on reflection. PA1 Minimizes latency in reflecting RM cells to the source. PA1 Eliminates the need to buffer entire RM cells for reflection.